//
//  PyobjCMidiPlugIn.h
//  PyobjCMidi
//

#import <Cocoa/Cocoa.h>
@class JSMIDI;

@interface PyobjCMidiPlugIn : NSObject {
   NSString*     statusText;
   
	// internal state
	JSMIDI*       _JSMIDI;
	NSLock*       _statusMessageMutex;
	BOOL          _statusTextIsEmpty;
}

- (BOOL)plugInLoaded;
- (void)statusMessage:(NSString*)message;

#pragma mark _____ actions

- (void)statusMessage:(NSString*)message;

#pragma mark _____ Midi actions

- (void)testMIDI;

- (void)sendNoteOnChannel:(int)channel key:(int)key velocity:(int)velocity;
- (void)sendNoteOffChannel:(int)channel key:(int)key velocity:(int)velocity;
- (void)sendPolyPressureOnChannel:(int)channel key:(int)key pressure:(int)pressure;
- (void)sendControlChangeOnChannel:(int)channel index:(int)index value:(int)value;
- (void)sendProgramChangeOnChannel:(int)channel index:(int)index;
- (void)sendChannelPressureOnChannel:(int)channel pressure:(int)pressure;
- (void)sendPitchWheelOnChannel:(int)channel value:(int)value;


@end